#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int arr[20] = { 0 };
    int n = 0;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    for (int j = 0; j < n; j++)
    {
        int min = arr[j];
        for (int k = j+1; k <n; k++)
        {
            if (min > arr[k])
            {
                arr[j] = arr[k];
                arr[k] = min;
                min = arr[j];
            }
        }
    }
    for (int j = 0; j < n; j++)
    {
        printf("%d ", arr[j]);
    }
    return 0;
}
//二维数组输出杨辉三角
//int main()
//{
//	int arr[100][100] = { 0 };
//	arr[0][0] = 1;
//	int i = 0;
//	int n = 0;
//	scanf("%d", &n);
//	for (i = 1; i <=n;i++ )
//	{
//		for (int j = 1; j <=i; j++)
//		{
//			arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
//			printf("%d ", arr[i][j]);
//		}
//		printf("\n");
//	}
//	return 0;
//}
////转换ASCII码值
//int main()
//{
//	char ch = 0;
//	scanf("%c", &ch);
//	printf("%d", ch);
//	return 0;
//}
////睡眠时间转换
//int main()
//{
//	int hour = 0;
//	int minute = 0;
//	int k = 0;
//	scanf("%d:%d %d", &hour, &minute, &k);
//	hour = hour + (k + minute) / 60;
//	minute = (k + minute) % 60;
//	if (hour >= 24)
//	{
//		hour = hour % 24;
//	}
//	printf("%02d:%02d", hour, minute);
//	return 0;
//}
////static简单的使用
//int sum(a)
//{
//	int c = 0;
//	static int b = 3;
//	c += 1;
//	b += 2;
//	return (a + b + c);
//}
//int main()
//{
//	int i;
//	int a = 2;
//	for (i = 0; i < 5; i++)
//	{
//		printf("%d ", sum(a));
//	}
//	return 0;
//}